package com.marui.ch1.mypool;

import com.marui.tools.SleepTools;

import java.sql.*;
import java.util.Map;
import java.util.Properties;
import java.util.concurrent.Executor;

/**
 * @author 类说明：实现了数据库连接的实现
 */
public class SqlConnectImpl implements Connection {

    /**
     * 拿一个数据库连接
     */
    public static final Connection fetchConnection() {
        return new SqlConnectImpl();
    }

    @Override
    public boolean isWrapperFor(Class<?> arg0) {

        return false;
    }

    @Override
    public <T> T unwrap(Class<T> arg0) {

        return null;
    }

    @Override
    public void abort(Executor arg0) {


    }

    @Override
    public void clearWarnings() {


    }

    @Override
    public void close() {


    }

    @Override
    public void commit() {
        SleepTools.ms(70);
    }

    @Override
    public Array createArrayOf(String arg0, Object[] arg1) {

        return null;
    }

    @Override
    public Blob createBlob() {

        return null;
    }

    @Override
    public Clob createClob() {

        return null;
    }

    @Override
    public NClob createNClob() {

        return null;
    }

    @Override
    public SQLXML createSQLXML() {

        return null;
    }

    @Override
    public Statement createStatement() {
        SleepTools.ms(1);
        return null;
    }

    @Override
    public Statement createStatement(int arg0, int arg1) {

        return null;
    }

    @Override
    public Statement createStatement(int arg0, int arg1, int arg2) {

        return null;
    }

    @Override
    public Struct createStruct(String arg0, Object[] arg1) {

        return null;
    }

    @Override
    public boolean getAutoCommit() {

        return false;
    }

    @Override
    public String getCatalog() {

        return null;
    }

    @Override
    public Properties getClientInfo() {

        return null;
    }

    @Override
    public String getClientInfo(String arg0) {

        return null;
    }

    @Override
    public int getHoldability() {

        return 0;
    }

    @Override
    public DatabaseMetaData getMetaData() {

        return null;
    }

    @Override
    public int getNetworkTimeout() {

        return 0;
    }

    @Override
    public String getSchema() {

        return null;
    }

    @Override
    public int getTransactionIsolation() {

        return 0;
    }

    @Override
    public Map<String, Class<?>> getTypeMap() {

        return null;
    }

    @Override
    public SQLWarning getWarnings() {

        return null;
    }

    @Override
    public boolean isClosed() {

        return false;
    }

    @Override
    public boolean isReadOnly() {

        return false;
    }

    @Override
    public boolean isValid(int arg0) {

        return false;
    }

    @Override
    public String nativeSQL(String arg0) {

        return null;
    }

    @Override
    public CallableStatement prepareCall(String arg0) {

        return null;
    }

    @Override
    public CallableStatement prepareCall(String arg0, int arg1, int arg2) {

        return null;
    }

    @Override
    public CallableStatement prepareCall(String arg0, int arg1, int arg2, int arg3) {

        return null;
    }

    @Override
    public PreparedStatement prepareStatement(String arg0) {

        return null;
    }

    @Override
    public PreparedStatement prepareStatement(String arg0, int arg1) {

        return null;
    }

    @Override
    public PreparedStatement prepareStatement(String arg0, int[] arg1) {

        return null;
    }

    @Override
    public PreparedStatement prepareStatement(String arg0, String[] arg1) {

        return null;
    }

    @Override
    public PreparedStatement prepareStatement(String arg0, int arg1, int arg2) {

        return null;
    }

    @Override
    public PreparedStatement prepareStatement(String arg0, int arg1, int arg2, int arg3) {

        return null;
    }

    @Override
    public void releaseSavepoint(Savepoint arg0) {


    }

    @Override
    public void rollback() {


    }

    @Override
    public void rollback(Savepoint arg0) {


    }

    @Override
    public void setAutoCommit(boolean arg0) {


    }

    @Override
    public void setCatalog(String arg0) {


    }

    @Override
    public void setClientInfo(Properties arg0) {


    }

    @Override
    public void setClientInfo(String arg0, String arg1) {


    }

    @Override
    public void setHoldability(int arg0) {


    }

    @Override
    public void setNetworkTimeout(Executor arg0, int arg1) {


    }

    @Override
    public void setReadOnly(boolean arg0) {


    }

    @Override
    public Savepoint setSavepoint() {

        return null;
    }

    @Override
    public Savepoint setSavepoint(String arg0) {

        return null;
    }

    @Override
    public void setSchema(String arg0) {


    }

    @Override
    public void setTransactionIsolation(int arg0) {


    }

    @Override
    public void setTypeMap(Map<String, Class<?>> arg0) {


    }

}
